// 定义一个矩形区域
interface ClientRect {
  width?: number
  height?: number
  top: number
  left: number
  right: number
  bottom: number
}

export const useAppStore = defineStore(
  'app',
  () => {
    // const statusBarHeight = ref(0)
    const safeArea = ref<ClientRect>({ top: 0, left: 0, right: 0, bottom: 0 })
    const menuButtonBounding = ref<ClientRect>()
    const customBarHeight = computed(
      () => !menuButtonBounding.value ? 0 : menuButtonBounding.value.bottom + menuButtonBounding.value.top - safeArea?.value.top,
    )
    const windowHeight = ref(0)
    const sysInfo = ref<any>({})
    const pkgname = ref('')

    return {
      safeArea, // 安全区域 即屏幕中间可用区域距离四边的距离，一般上下有值，左右为0
      // statusBarHeight, // 状态栏高度 一般等同于顶部安全高度 2024-07-10改用安全区域
      customBarHeight, // 自定义菜单栏距离顶部的高度：胶囊按钮的底部坐标+胶囊的下边距
      menuButtonBounding, // 右上角胶囊按钮边界
      windowHeight, // 可用窗口高度
      sysInfo, // 关键的系统信息
      pkgname, // 包名 用来支持H5情况下切换请求头 X-Version
    }
  },
)
